home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
011
/
timepark.arc
/
TIMEPARK.ASM
next >
Wrap
Assembly Source File
|
1986-03-13
|
2KB
|
141 lines
code Segment Para
Assume cs:code, ds:code
org 100h
park proc far
jmp init
x1coff dw 0
x1cseg dw 0
x13off dw 0
x13seg dw 0
parked dw 0
count dw 0
value dw 0
flag dw 0
x1cint: push ax
push bx
push cx
push dx
push ds
mov ax,cs
mov ds,ax
xor ax,ax
cmp parked,ax
jne x1cout
dec word ptr count
cmp count,ax
jne x1cout
cli
mov ax,1
mov parked,ax
mov flag,ax
mov ax,value
mov count,ax
sti
mov ah,08
mov dx,80h
int 13h
mov dx,80h
inc ch
mov ax,0401h
int 13h
mov ah,08
mov dx,81h
int 13h
mov dx,81h
inc ch
mov ax,0401h
int 13h
xor ax,ax
mov flag,ax
x1cout: pop ds
pop dx
pop cx
pop bx
pop ax
jmp dword ptr cs:[x1coff]
x13int: push ax
push ds
mov ax,cs
mov ds,ax
cmp flag,1
je x13in1
mov ax,value
mov count,ax
xor ax,ax
mov parked,ax
x13in1: pop ds
pop ax
jmp dword ptr cs:[x13off]
dw 0
table dw 0
init: xor ax,ax
mov parked,ax
mov bx,80h
mov al,[bx]
cmp al,0
jne init1
int 21h
init1: inc bx
mov al,[bx]
cmp al,32
je init1
cmp al,13
jne init3
init2: xor ax,ax
int 21h
init3: cmp al,49
jb init2
cmp al,57
ja init2
lea dx,mess
mov cx,ax
mov ah,09
int 21h
mov ax,cx
xor ah,ah
mov bx,0fh
and ax,bx
mov dx,1091
mul dx
mov value,ax
mov count,ax
cli
push es
xor ax,ax
mov es,ax
mov bx,76
mov ax,es:[bx]
mov x13off,ax
mov ax,offset x13int
mov es:[bx],ax
inc bx
inc bx
mov ax,es:[bx]
mov x13seg,ax
mov ax,cs
mov es:[bx],ax
xor ax,ax
mov flag,ax
mov es,ax
mov bx,112
mov ax,es:[bx]
mov x1coff,ax
mov ax,offset x1cint
mov es:[bx],ax
inc bx
inc bx
mov ax,es:[bx]
mov x1cseg,ax
mov ax,cs
mov es:[bx],ax
pop es
sti
mov dx,offset table
int 27h
mess db 'Alpha Computer Service timed parker is activated'
db 13,10,'for hard disks C and, if present, D'
db 13,10,'$'
park endp
code ends
end park